package com.wbl.train.business.service;

import com.wbl.train.common.business.dto.DailyTrainDto;
import com.wbl.train.common.business.entity.DailyTrainEntity;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wbl.train.common.business.vo.DailyTrainVo;
import com.wbl.train.common.page.PageVo;

import java.time.LocalDate;
import java.util.List;

/**
 * 每日车次 服务类
 * @author 王博纶
 * @since 2024-02-10
 */
public interface DailyTrainService extends IService<DailyTrainEntity> {

    /**
     * 查询车站的信息
     * @param dailyTrainDto 火车每次车次DTO
     * @return 分页信息
     */
    PageVo<DailyTrainEntity> queryDailyTrain(DailyTrainDto dailyTrainDto);

    /**
     * 新增车站
     * @param dailyTrain 火车每日车次
     * @return 是否新增成功
     */
    boolean insertAndUpdateTrain(DailyTrainEntity dailyTrain);

    /**
     * 查询所有的车站的信息
     * @return 所有的车站信息
     */
    List<DailyTrainVo> queryAllDailyTrain();

    /**
     * 生成某日所有车次的信息，包括车次，车站，车厢和座位
     * @param date 目标日期
     */
    void genDaily(LocalDate date);

}
